﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CNRS.CCP.Config
{
	public class ClaimElement
	{
		public string Title { get; set; }
		public string ClaimType { get; set; }
		//public string Key { get; set; }
		public string ReferenceID { get; set; }
		public string DB { get; set; }
		public string Display { get; set; }
		public string Value { get; set; }
		public bool Hidden { get; set; }
		public string ProviderName { get; set; }
	}
	
	public class UserElement
	{
		public string Title { get; set; }
		public string ClaimType { get; set; }
		//public string Key { get; set; }
		public string Query { get; set; }
		public string Value { get; set; }
		public string Display { get; set; }
		public string Email { get; set; }
		public bool Hidden { get; set; }
		public string ProviderName { get; set; }
	}

	public class Provider
	{
		// the name of the provider used by ProviderName in ClaimsElement
		public string Name { get; set; }

		// the type of the provider for future use to directly call the provider code
		public string Type { get; set; }

		// the server name, ie the SQl server alias, the grouper VootUrl, the ldap directory entry
		public string Server { get; set; }

		// a user with read access to the server
		public string User { get; set; }

		// the password of the user
		public string Password { get; set; }
	}

	public class Config
	{
		public bool Debug { get; set; }
		public string ADFSReference { get; set; }
		public string IdClaimType { get; set; }
		public List<string> IgnoredWebApps { get; set; }
		public List<ClaimElement> ClaimElements { get; set; }
		public List<UserElement> UserElements { get; set; }
		public List<Provider> Providers { get; set; }
	}

}
